// 1. 引入 Vue 和 vue-router
import Vue from 'vue'
import Router from 'vue-router'

// 2. 告诉 Vue 要使用路由
Vue.use(Router)

// 3. 导入你的登录组件（这里的路径要和你实际的 UserLogin.vue 路径一致！）
// 比如：如果 UserLogin.vue 在 src/views 下面，就写成 '@/views/UserLogin.vue'
import UserLogin from '@/views/UserLogin.vue'//登录页
import Home from "@/views/home/index.vue";//首页

//引入布局组件
import LayoutIndex from "@/layout/mo_ni_2.vue"; // 你的布局组件路径
//import HeadTop from "@/layout/components/PageHeader"


//顶部新增：从Element UI导入Message组件
import { Message } from 'element-ui'
import DrugCompany from "@/views/company/drugCompany.vue";
import saleIndex from "@/views/sale/saleIndex.vue";
import cityIndex from "@/views/city/cityIndex.vue";



// 4. 定义路由规则
const routes = [
    // 👇 新增：根路径重定向到 /login
    {
        path: '/',
        name: 'login',
        component: UserLogin

    },

    {
        path: '/login', // 浏览器地址栏输入 http://localhost:8080/#/login 就能访问登录页
        name: 'UserLogin', // 路由的名字，后面可以用这个名字跳转
        component: UserLogin // 对应上面导入的登录组件
    },


    // 3. 主布局：所有需要共享顶部/侧边栏的页面，都放在children里
    {
        path: "/",
        component: LayoutIndex,
        children: [
            // 首页：默认子路由（访问 "/" 时显示）

            // home 路由配置
            {
                path: '/home', // 跳转的路径
                name: 'Home', // 路由名称（可选，用于编程式导航）
                component: Home, // 对应的 Home 组件
                meta: {
                    requiresAuth: true // 标记需要登录才能访问（配合路由守卫使用）
                }
            },
            // company 路由配置
            {
                path: '/company', // 跳转的路径
                name: 'company', // 路由名称（可选，用于编程式导航）
                component: DrugCompany, // 对应的组件
                meta: {
                    requiresAuth: true // 标记需要登录才能访问（配合路由守卫使用）
                }
            },
            // sale 路由配置
            {
                path: '/sale',
                name: 'sale',
                component: saleIndex,
                meta: {
                    requiresAuth: true
                }
            },
            // city 路由配置
            {
                path: '/city',
                name: 'city',
                component: cityIndex,
                meta: {
                    requiresAuth: true
                }
            }
        ]
    }
]

// 5. 创建路由实例并导出
const router = new Router({

    routes // 把上面定义的路由规则传进去

})

// 6. 路由守卫逻辑修改（添加提示）
router.beforeEach((to, from, next) => {
    if (to.meta.requiresAuth) {
        const token = localStorage.getItem('token')
        if (token) {
            next() // 有Token，正常放行
        } else {
            // 关键：弹出“请先登录”提示，3秒后跳登录页（也可立即跳转）
            Message.warning({
                message: '请先登录后再访问', // 提示内容
                duration: 1500, // 提示显示时间（毫秒），1.5秒后自动关闭
                onClose: () => { // 提示关闭后执行跳转
                    next('/login')
                }
            })
        }
    } else {
        next() // 无需权限，直接放行
    }
})

export default router // 导出路由，让 main.js 能用到